1. Field of the Invention
The present invention generally relates to wireless communication systems in which communicating stations move with respect to one another and, more particularly, to data rate management in adaptive data rate wireless communication systems.
2. Background Description
One of the key concerns in wireless communication systems is the sudden loss of a connection between two communicating stations A and B when the two stations move out of reach of each other; i.e., one station's signal gets too weak for the other station to detect above the noise. This problem can to a large extent be overcome by controlling the transmission bandwidth of the physical channel according to the quality of the link. One way of doing this has been proposed by F. Gfeller, W. Hirt, M. De Lange and B. Weiss in "Wireless Infrared Transmission: How to Reach all Office Space", Proceedings of IEEE VTC, Atlanta, April 1996, which use repetition coding in conjunction with a Pulse Position Modulation (PPM) format for infrared (IR) wireless systems. According to Gfeller et al., the modems of two communicating stations A and B count the number of PPM symbol errors in each received frame and report the result to the next layer; the medium access (MAC) layer.
Application Ser. No. 08/664,718, supra, describes a MAC protocol utilizing the features of the modem in Gfeller et al. Among other things, application Ser. No. 08/664,718 accounts for the rate selection and exchange protocol. More specifically, the modem of a receiving station passes the number of symbol errors to the rate selection module (RSM) which is in the MAC, the RSM calculates a suggested repetition rate (RR*) which the transmitting station should repeat its symbols with, the RSM calculates RR* based on the number of symbol errors, and the MAC of the receiving station then informs the MAC of the transmitting station about the RR*. The repetition rate with which the transmitting station is actually using for sending out a data packet is denoted RR. The means by which the receiving station informs the transmitting station about the desired rate is by the inclusion of a repetition rate (RR*) parameter in a highly robust part of the response frame sent back to the transmitting station.
The problem that has not yet been solved is how to select RR*. The problem is illustrated with the following example. Suppose two stations, A and B, have established a connection with each other and suppose station B is sending data packets to station A. Every time station A receives a data packet from B, the modem in station A counts the number of symbol errors in the received frame and reports it to the MAC. Suppose now that station A first receives a number of consecutive data packets that are error free and assume that station A calculates RR*=1 (i.e., no repetition of symbols) and reports this value back to station B. Next, station A receives a data packet which has a PPM symbol error rate (SER) of say 10%. From a simplistic point of view, one may jump to the conclusion that RR* should be increased to maximum value, for example RR*=16, and be reported back to station B immediately so the next DATA packets can be received error free. But that would be incorrect to jump to that conclusion for the following reasons. Since the error infected data packet arrives in immediate succession of the many error free data packets, it is more likely that a collision occurred; especially if the data packet is not sent within a reservation but rather as a separate unreserved data packet where the chance of a collision is higher and especially if the data packet is received say less than one second after the last error free packet. Furthermore, suppose the packet length is very short, then the statistical accuracy of the SER is not very good. This simple example shows that there are at least four things that should be considered when calculating the RR* value:
1) the earlier measured values of the SER, PA1 2) the age of earlier measurements, PA1 3) the packet lengths, and PA1 4) the frame types.
The concept of dynamically adjusting the data rate according to link quality is not per se new. U.S. Pat. No. 5,541,955 to Jacobsmeyer discloses means connected to a trellis decoder in a wireless system which estimates a reliable data rate based on channel conditions or based on the amount of information stored at the receiver. Jacobsmeyer uses this estimation means for the sake of combating a fading communication channel. Jacobsmeyer calculates what data rate at which the next packet should be sent and in turn sends this information to the is transmitter on a separate return channel. However, Jacobsmeyer ties the data rate prediction/selection method closely to the trellis decoder based modem and that the selected data rate information is sent back to the transmitter in real time on a separate return channel. Jacobsmeyer does suggest how to predict the next signal-to-noise ratio (SNR) based on a number of previous measurements of the signal quality, but only for the particular wireless system as just described. Jacobsmeyer does not disclose that the predicted data rate should in any way depend on packet or signal properties such as packet length, packet type, signal strength, age of previous measurements, etc., but rather Jacobsmeyer discloses prediction algorithms that attempt to fit the measured SNR onto a linear curve, polynomial curve or a least squares curve. The linear fit algorithm is suitable for a slowly fading communications channel while the polynomial and least squares fit algorithms are suitable for a rapidly fading communications channel.
In U.S. Pat. No. 5,488,609 to Hluchyj et al., the data rate is adjusted according to the load in the network and at the connection level.
In U.S. Pat. No. 5,524,122 to Lepitre et al., the data rate is adjusted according to the quality of the channel where the quality of the channel is a function of the error ratio of the received signal. The Lepitre et al. system is aimed at modem speeds of 20 kbps and below. Lepitre et al. further disclose the rules associated with when to change the data rate. These rules depend on the time duration over which an error level has been detected and whether this error level is greater than a certain upper threshold level and whether this error level is smaller than a certain lower threshold level.
In U.S. Pat. No. 4,890,316 to Walsh et al., the data rate is adjusted according to the quality of the channel where the quality of the channel is estimated according to cyclic redundancy checking (CRC), outcome of retraining attempts and a metric provided by a trellis decoder. The Walsh et al. system is aimed at modem speeds of 10 kbps and below for voice grade telephone circuits.
Another problem that has not been solved is how to most efficiently inform the sending station B about the RR* values calculated by station A. Assume again the two stations, A and B. It is station A which is capable of evaluating the quality of the station B to station A (B.fwdarw.A) link and it is station A which selects RR*. But it is station B that needs to know about RR* so it can adjust the repetition rate, RR, accordingly. Thus, RR* must be communicated to station B as fast as possible, preferably before the next data packet is sent by station B. The general infrastructure needed to perform this function was disclosed in application Ser. No. 08/664,718, supra. What is needed is an infrastructure for reporting RR* back to the sending station which is more efficient than that of application Ser. No. 08/664,718.